草庐IT

leetcode 413. Arithmetic Slices 等差数列划分

全部标签

斐波那契数列算法详解

1.概述见名知意,斐波那契数列,就是数列,它的规则是这样定义的,前两个数是0和1,之后每一个数字都是前两个数字之和。换句话说,该数列的第n个数字是前面两个数字之和(即第n-1个和第n-2个数字之和)。下面这组数列就是斐波那契数列:0,1,1,2,3,5,8,13,21,34,55,89,144,233.......2.程序实现(基于Java)现在要求输入一个正整数n,请你输出斐波那契数列的第n项。实现斐波那契数列的方式有很多,下面就介绍几种常用的算法:第一种:递归法递归法就是不断地调用自己,直到计算出第n项的斐波那契数,程序实现如下:publicstaticintfibonacci(intn)

LeetCode #156 Binary Tree Upside Down 上下翻转二叉树

156BinaryTreeUpsideDown上下翻转二叉树Description:Giventherootofabinarytree,turnthetreeupsidedownandreturnthenewroot.Youcanturnabinarytreeupsidedownwiththefollowingsteps:Theoriginalleftchildbecomesthenewroot.Theoriginalrootbecomesthenewrightchild.Theoriginalrightchildbecomesthenewleftchild.Thementionedsteps

LeetCode #1234 Replace the Substring for Balanced String 替换子串得到平衡字符串

1234ReplacetheSubstringforBalancedString替换子串得到平衡字符串Description:Youaregivenastringsoflengthncontainingonlyfourkindsofcharacters:'Q','W','E',and'R'.Astringissaidtobebalancedifeachofitscharactersappearsn/4timeswherenisthelengthofthestring.Returntheminimumlengthofthesubstringthatcanbereplacedwithanyothe

LeetCode - #90 子集 II

前言我们社区陆续会将顾毅(Netflix增长黑客,《iOS面试之道》作者,ACE职业健身教练。)的Swift算法题题解整理为文字版以方便大家学习与阅读。LeetCode算法到目前我们已经更新到89期,我们会保持更新时间和进度(周一、周三、周五早上9:00发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。不积跬步,无以至千里;不积小流,无以成江海,Swift社区伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。难度水平:中等1.描述给你一个整数数组nums,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。返回的

Leetcode 102. 二叉树的层序遍历

题目给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]提示:树中节点数目在范围[0,2000]内-1000解题思路这是一道典型的BFS题目,直接用队列来实现即可。方法时间复杂度空间复杂度BFSO(n)O(n)Java代码classSolution{publicList>levelOrder(TreeNoderoot){List>res=newArrayList(

图解LeetCode——1700. 无法吃午餐的学生数量(难度:简单)

一、题目学校的自助午餐提供圆形和方形的三明治,分别用数字0和1表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个栈里,每一轮:如果队列最前面的学生喜欢栈顶的三明治,那么会拿走它并离开队列。否则,这名学生会放弃这个三明治并回到队列的尾部。这个过程会一直持续到队列里所有学生都不喜欢栈顶的三明治为止。给你两个整数数组students和sandwiches,其中sandwiches[i]是栈里面第i个三明治的类型(i=0是栈的顶部),students[j]是初始队列里第j名学生对三明治的喜好(j=0是队列的最开始位置)。请你返回

LeetCode - #89 格雷编码

前言我们社区陆续会将顾毅(Netflix增长黑客,《iOS面试之道》作者,ACE职业健身教练。)的Swift算法题题解整理为文字版以方便大家学习与阅读。LeetCode算法到目前我们已经更新到88期,我们会保持更新时间和进度(周一、周三、周五早上9:00发布),每期的内容不多,我们希望大家可以在上班路上阅读,长久积累会有很大提升。不积跬步,无以至千里;不积小流,无以成江海,Swift社区伴你前行。如果大家有建议和意见欢迎在文末留言,我们会尽力满足大家的需求。难度水平:中等1.描述n位格雷码序列是一个由2^n个整数组成的序列,其中:每个整数都在范围[0,2^n-1]内(含0和2^n-1)第一个整

DDD概念以及微服务划分

目录DDD简介:DDD与微服务的区别:DDD核心概念:如何划分微服务边界:DDD简介:DDD 是Domain-DrivenDesign的缩写,称为领域驱动设计。它是为了解决划分业务边界的问题,是一种架构模式,也是一种划分业务领域范围的方法论。DDD与微服务的区别:DDD是一种架构设计方法,微服务是一种架构风格。两者从本质上都是为了追求高响应力,而从业务视角去分离应用系统建设复杂度的手段。两者都强调从业务出发,其核心要义是强调根据业务发展,合理划分领域边界,持续调整现有架构,优化现有代码,以保持架构和代码的生命力,也就是我们常说的演进式架构。DDD主要关注:从业务领域视角划分领域边界,构建通用语

【算法】斐波那契数列与台风的故事

在小岛的一个海滨小镇上,住着一个名叫苏菲的女孩。苏菲一家人靠海为生,她的生活简单而朴素,与大自然和谐共生。每天,苏菲都会来到海边,欣赏那美丽的日出和日落,感受着大海的呼吸。然而,小岛的美丽风光并非一成不变。每年夏季,热带气旋活跃,台风频繁登陆,给小岛带来了严重的危害。有一天,苏菲经历了一场猛烈的台风。台风带来的狂风暴雨席卷了整个小镇,树木被连根拔起,房屋倒塌,街道一片狼藉。苏菲的家也被摧毁了,她无家可归,生活陷入了困境。在台风的影响下,苏菲失去了亲人,她感到孤独和无助。然而,她并没有放弃,她决定勇敢面对生活的挑战。在台风过后,苏菲积极参与灾后重建工作,帮助邻居们重建家园。她用自己的双手清理废墟

Leetcode hot100题 个人整理版

目录1.两数之和2.两数相加3.无重复字符的最长子串4.寻找两个正序数组的中位数5.最长回文子串10.正则表达式匹配11.盛最多水的容器15.三数之和17.电话号码的字母组合19.删除链表的倒数第NNN个结点20.有效的括号21.合并两个有序链表22.括号生成23.合并KKK个升序链表31.下一个排列32.最长有效括号33.搜索旋转排序数组34.在排序数组中查找元素的第一个和最后一个位置39.组合总和42.接雨水46.全排列48.旋转图像49.字母异位词分组53.最大子数组和55.跳跃游戏56.合并区间72.编辑距离75.荷兰国旗76.最小覆盖子串78.子集79.单词搜索84.柱状图中最大的矩